package com.example.demo.util;

import java.math.BigDecimal;
import java.text.DecimalFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
import java.util.TimeZone;

import org.springframework.stereotype.Component;

@Component
public class Utils {
	/**
	 * 获取某天的时间,支持自定义时间格式
	 * @param simpleDateFormat 时间格式,yyyy-MM-dd HH:mm:ss
	 * @param index 为正表示当前时间加天数，为负表示当前时间减天数
	 * @return String
	 */
	public static String getTimeDay(String simpleDateFormat,int index){
		TimeZone tz = TimeZone.getTimeZone("Asia/Shanghai");
		TimeZone.setDefault(tz);
		Calendar calendar = Calendar.getInstance();
		SimpleDateFormat fmt = new SimpleDateFormat(simpleDateFormat);
		calendar.add(Calendar.MONTH,index);
		String date = fmt.format(calendar.getTime());
		return date;
	}
	
	//保留两位小数
	 public Double mathtwo(Double f) {
	        BigDecimal bg = new BigDecimal(f);
	        /**
	         * 参数：
	                newScale - 要返回的 BigDecimal 值的标度。
	                roundingMode - 要应用的舍入模式。
	          返回：
	                一个 BigDecimal，其标度为指定值，其非标度值可以通过此 BigDecimal 的非标度值乘以或除以十的适当次幂来确定。
	         */
	        double f1 = bg.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();
	        System.out.println(f1);
	        return f1;
	 }
	 
	 public static String dealTime(String year,String month,int index) throws ParseException {
		    Calendar calendar = new GregorianCalendar(Integer.valueOf(year), Integer.valueOf(month), 1,0,0,0);    
			calendar.add(Calendar.MONTH,index);
			SimpleDateFormat fmt = new SimpleDateFormat("yyyyMM");
			String date = fmt.format(calendar.getTime());
			return date;
		}
}
